package com.onefish.toolkit;

import java.nio.charset.StandardCharsets;
import java.util.Arrays;

public class Charset {
    public static void main(String[] args) throws Exception,Throwable{
        //  关于字符集编码规范 UTF-8、GBK
        /**
         * 汉子常用的编码格式
         * 区位码 区码（两位十六进制数，占一个字节）+ 位码（两位十六进制数，占一个字节）
         * 国标码 = （区码+20H）（位码+20H）
         * 机内码 = 国标码 + 80H = （区码+A0H）（位码+A0H）
         */
        System.out.println(Arrays.toString("中".getBytes("GBK")));//一个中文字符占三个字节（UTF-8）/ 两个字节（GBK）
        //  输出为[-42, -48]
        /**
         * 计算过程
         * 查出汉字字符的区位码为 5448(D) 区码:1101 0110 位码: 1101 0000
         * 求补码（二进制-1） 1101 0101   1100 1111
         * 求反码（各位取反） 0010 1010 0011 0000
         * 转化成十进制形式并带上负号
         */
    }
}
